import React, {useCallback, useState} from 'react';


const set = new Set()

const UseCallbackCount = () => {

    const [count, setCount] = useState(0)

    // 缓存函数，第一次和依赖的值变化才会执行
    const add = useCallback(() => {
        console.log("useCallback 执行了");
        setCount(count => count + 1)
    }, []);

    // 把函数存储在set中，如果是同一个对象，会被覆盖
    // 由于useCallback会缓存函数，所以追加的add一直是同一个
    set.add(add)
    console.log(set.size)

    return (
        <div>
            <p>{count}</p>
            <button onClick={add}>+</button>
        </div>
    );
};

export default UseCallbackCount;
